package model

import "time"

type SysUser struct {
	UserId int `xorm:"NOT NULL     AUTO_INCREMENT    PK  int(11)"`
}

// ModLoginSysUser  登陆返回组
type ModLoginSysUser struct {
	UserId       int    `xorm:"NOT NULL     AUTO_INCREMENT    PK  int(11)"`
	UserAccount  string `xorm:"not null    VARCHAR(255)"`
	UserPassword string `xorm:"not null    VARCHAR(255)"`
	UserPhone    string `xorm:"not null    VARCHAR(255)"`
	UserName     string `xorm:"not null    VARCHAR(255)"`
	PermissionId int    `xorm:"not null    int(255)"`
	ProjectId    int    `xorm:"not null    int(512)"`
}

func (v *ModLoginSysUser) TableName() string {
	return "sys_user"
}

// ModSysUser 用户查询返回
type ModSysUser struct {
	UserId        int       `xorm:"NOT NULL     AUTO_INCREMENT    PK  int(11)"`
	UserAccount   string    `xorm:"not null    VARCHAR(255)"`
	LastLoginTime time.Time `xorm:"not null    datetime"`
	UserPhone     string    `xorm:"not null    VARCHAR(255)"`
	UserName      string    `xorm:"not null    VARCHAR(255)"`
	UserSex       int       `xorm:"not null    int(255)"`
	UserNumber    string    `xorm:"not null    VARCHAR(255)"`
	UserEmail     string    `xorm:"not null    VARCHAR(255)"`
	PermissionId  int       `xorm:"not null    int(255)"`
	UserPhoto     string    `xorm:"not null    VARCHAR(255)"`
	UserInfo      string    `xorm:"not null    VARCHAR(512)"`
	ProjectId     int       `xorm:"not null    int(512)"`
	LastLoginIp   string    `xorm:"not null    VARCHAR(512)"`
	AdderId       int       `xorm:"not null    int(512)"`
	TeachName     string    `xorm:"not null    VARCHAR(512)"`
	LoginNum      int       `xorm:"not null    int(512)"`
	CreateTime    time.Time `xorm:"not null    datetime"`
	UpdateTime    time.Time `xorm:"not null    datetime"`
}

func (v *ModSysUser) TableName() string {
	return "sys_user"
}
func (v *ModAddSysUser) TableName() string {
	return "sys_user"
}
func (v *ModRegSysUser) TableName() string {
	return "sys_user"
}
func (v *ModListSysUser) TableName() string {
	return "sys_user"
}

type ModRegSysUser struct {
	UserAccount  string `xorm:"not null    VARCHAR(255)"`
	UserPassword string `xorm:"not null    VARCHAR(255)"`
	UserPhone    string `xorm:"not null    VARCHAR(255)"`
	UserName     string `xorm:"not null    VARCHAR(255)"`
	UserSex      int    `xorm:"not null    int(255)"`
	UserNumber   string `xorm:"not null    VARCHAR(255)"`
	UserEmail    string `xorm:"not null    VARCHAR(255)"`
	UserInfo     string `xorm:"not null    VARCHAR(512)"`
	ProjectId    int    `xorm:"not null    int(512)"`
	AdderId      int    `xorm:"not null    int(512)"`
	TeachName    string `xorm:"not null    VARCHAR(512)"`
}

type ModAddSysUser struct {
	UserId        int       `xorm:"NOT NULL     AUTO_INCREMENT    PK  int(11)"`
	UserAccount   string    `xorm:"not null    VARCHAR(255)"`
	UserPassword  string    `xorm:"not null    VARCHAR(255)"`
	LastLoginTime time.Time `xorm:"not null    datetime"`
	UserPhone     string    `xorm:"not null    VARCHAR(255)"`
	UserName      string    `xorm:"not null    VARCHAR(255)"`
	UserSex       int       `xorm:"not null    int(255)"`
	UserNumber    string    `xorm:"not null    VARCHAR(255)"`
	UserEmail     string    `xorm:"not null    VARCHAR(255)"`
	PermissionId  int       `xorm:"not null    int(255)"`
	UserPhoto     string    `xorm:"not null    VARCHAR(255)"`
	UserInfo      string    `xorm:"not null    VARCHAR(512)"`
	ProjectId     int       `xorm:"not null    int(512)"`
	LastLoginIp   string    `xorm:"not null    VARCHAR(512)"`
	AdderId       int       `xorm:"not null    int(512)"`
	TeachName     string    `xorm:"not null    VARCHAR(512)"`
	LoginNum      int       `xorm:"not null    int(512)"`
	CreateTime    time.Time `xorm:"not null    datetime"`
	UpdateTime    time.Time `xorm:"not null    datetime"`
}

type ModListSysUser struct {
	UserId        int       `xorm:"NOT NULL     AUTO_INCREMENT    PK  int(11)"`
	UserAccount   string    `xorm:"not null    VARCHAR(255)"`
	LastLoginTime time.Time `xorm:"not null    datetime"`
	UserPhone     string    `xorm:"not null    VARCHAR(255)"`
	UserName      string    `xorm:"not null    VARCHAR(255)"`
	UserSex       int       `xorm:"not null    int(255)"`
	UserNumber    string    `xorm:"not null    VARCHAR(255)"`
	UserEmail     string    `xorm:"not null    VARCHAR(255)"`
	PermissionId  int       `xorm:"not null    int(255)"`
	UserPhoto     string    `xorm:"not null    VARCHAR(255)"`
	UserInfo      string    `xorm:"not null    VARCHAR(512)"`
	ProjectId     int       `xorm:"not null    int(512)"`
	LastLoginIp   string    `xorm:"not null    VARCHAR(512)"`
	AdderId       int       `xorm:"not null    int(512)"`
	TeachName     string    `xorm:"not null    VARCHAR(512)"`
	LoginNum      int       `xorm:"not null    int(512)"`
	CreateTime    time.Time `xorm:"not null    datetime"`
	UpdateTime    time.Time `xorm:"not null    datetime"`
}
